package com.ruoyi.course.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 考试对象 t_exam
 * 
 * @author ruoyi
 * @date 2024-11-30
 */
public class TExam extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 课程ID */
    @Excel(name = "课程ID")
    private Long cId;

    /** 试卷ID */
    @Excel(name = "试卷ID")
    private Long pId;

    /** 考试名称 */
    @Excel(name = "考试名称")
    private String name;

    /** 考试时长 */
    @Excel(name = "考试时长")
    private Long duration;

    /** 是否限制考试时间 */
    @Excel(name = "是否限制考试时间")
    private Long timeLimit;

    /** 考试开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 考试结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 考前注意事项 */
    @Excel(name = "考前注意事项")
    private String precaution;

    /** 考试权限 */
    @Excel(name = "考试权限")
    private String permission;

    /** 考试密码 */
    @Excel(name = "考试密码")
    private String password;

    /** 是否批改 */
    @Excel(name = "是否批改")
    private Long isMark;

    /** 未批改数 */
    @Excel(name = "未批改数")
    private Long ungradedNum;

    /** 未上交数 */
    @Excel(name = "未上交数")
    private Long unturnedNum;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    private Long isDelete;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setcId(Long cId) 
    {
        this.cId = cId;
    }

    public Long getcId() 
    {
        return cId;
    }
    public void setpId(Long pId) 
    {
        this.pId = pId;
    }

    public Long getpId() 
    {
        return pId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }
    public void setTimeLimit(Long timeLimit) 
    {
        this.timeLimit = timeLimit;
    }

    public Long getTimeLimit() 
    {
        return timeLimit;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setPrecaution(String precaution) 
    {
        this.precaution = precaution;
    }

    public String getPrecaution() 
    {
        return precaution;
    }
    public void setPermission(String permission) 
    {
        this.permission = permission;
    }

    public String getPermission() 
    {
        return permission;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setIsMark(Long isMark) 
    {
        this.isMark = isMark;
    }

    public Long getIsMark() 
    {
        return isMark;
    }
    public void setUngradedNum(Long ungradedNum) 
    {
        this.ungradedNum = ungradedNum;
    }

    public Long getUngradedNum() 
    {
        return ungradedNum;
    }
    public void setUnturnedNum(Long unturnedNum) 
    {
        this.unturnedNum = unturnedNum;
    }

    public Long getUnturnedNum() 
    {
        return unturnedNum;
    }
    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cId", getcId())
            .append("pId", getpId())
            .append("name", getName())
            .append("duration", getDuration())
            .append("timeLimit", getTimeLimit())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("precaution", getPrecaution())
            .append("permission", getPermission())
            .append("password", getPassword())
            .append("isMark", getIsMark())
            .append("ungradedNum", getUngradedNum())
            .append("unturnedNum", getUnturnedNum())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("isDelete", getIsDelete())
            .append("remark", getRemark())
            .toString();
    }
}
